﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Services;
using ERP.WorkforceManage.Dtos;
using Volo.Abp.Application.Dtos;

namespace ERP.WorkforceManage
{
    public interface IClassesService : IApplicationService
    {
        Task<PagedResultDto<ClassesDto>> GetListAsync(ClassesListDto input);
        Task<ClassesDto> GetAsync(int id);
        Task<PagedResultDto<ClassesDto>> GetPagedListAsync(PagedClassesRequestDto input);
        Task<ClassesDto> CreateAsync(CreateClassesDto input);
        Task<ClassesDto> UpdateAsync(int id, UpdateClassesDto input);
        Task DeleteAsync(int id);
        Task BatchDeleteAsync(List<int> ids);
    }

    public class PagedClassesRequestDto : PagedResultRequestDto
    {
        public int PageIndex { get; set; } = 1;
        public int PageSize { get; set; } = 10;
        public int? SchedulingPlanId { get; set; }

        public override int SkipCount => (PageIndex - 1) * PageSize;
        public override int MaxResultCount => PageSize;
    }
}
